home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / JTextComponent$DefaultKeymap.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.5 KB  |  158 lines

  1. package javax.swing.text;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Hashtable;
  5. import java.util.Vector;
  6. import javax.swing.Action;
  7. import javax.swing.KeyStroke;
  8.  
  9. class JTextComponent$DefaultKeymap implements Keymap {
  10.    // $FF: renamed from: nm java.lang.String
  11.    String field_0;
  12.    Keymap parent;
  13.    Hashtable bindings;
  14.    Action defaultAction;
  15.  
  16.    JTextComponent$DefaultKeymap(String var1, Keymap var2) {
  17.       this.field_0 = var1;
  18.       this.parent = var2;
  19.       this.bindings = new Hashtable();
  20.    }
  21.  
  22.    public void addActionForKeyStroke(KeyStroke var1, Action var2) {
  23.       this.bindings.put(var1, var2);
  24.    }
  25.  
  26.    public Action getAction(KeyStroke var1) {
  27.       Action var2 = (Action)this.bindings.get(var1);
  28.       if (var2 == null && this.parent != null) {
  29.          var2 = this.parent.getAction(var1);
  30.       }
  31.  
  32.       return var2;
  33.    }
  34.  
  35.    public Action[] getBoundActions() {
  36.       Action[] var1 = new Action[this.bindings.size()];
  37.       int var2 = 0;
  38.  
  39.       for(Enumeration var3 = this.bindings.elements(); var3.hasMoreElements(); var1[var2++] = (Action)var3.nextElement()) {
  40.       }
  41.  
  42.       return var1;
  43.    }
  44.  
  45.    public KeyStroke[] getBoundKeyStrokes() {
  46.       KeyStroke[] var1 = new KeyStroke[this.bindings.size()];
  47.       int var2 = 0;
  48.  
  49.       for(Enumeration var3 = this.bindings.keys(); var3.hasMoreElements(); var1[var2++] = (KeyStroke)var3.nextElement()) {
  50.       }
  51.  
  52.       return var1;
  53.    }
  54.  
  55.    public Action getDefaultAction() {
  56.       if (this.defaultAction != null) {
  57.          return this.defaultAction;
  58.       } else {
  59.          return this.parent != null ? this.parent.getDefaultAction() : null;
  60.       }
  61.    }
  62.  
  63.    public KeyStroke[] getKeyStrokesForAction(Action var1) {
  64.       if (var1 == null) {
  65.          return null;
  66.       } else {
  67.          KeyStroke[] var2 = null;
  68.          Vector var3 = null;
  69.          Enumeration var4 = this.bindings.keys();
  70.  
  71.          while(var4.hasMoreElements()) {
  72.             Object var5 = var4.nextElement();
  73.             if (this.bindings.get(var5) == var1) {
  74.                if (var3 == null) {
  75.                   var3 = new Vector();
  76.                }
  77.  
  78.                var3.addElement(var5);
  79.             }
  80.          }
  81.  
  82.          if (this.parent != null) {
  83.             KeyStroke[] var9 = this.parent.getKeyStrokesForAction(var1);
  84.             if (var9 != null) {
  85.                int var6 = 0;
  86.  
  87.                for(int var7 = var9.length - 1; var7 >= 0; --var7) {
  88.                   if (this.isLocallyDefined(var9[var7])) {
  89.                      var9[var7] = null;
  90.                      ++var6;
  91.                   }
  92.                }
  93.  
  94.                if (var6 > 0 && var6 < var9.length) {
  95.                   if (var3 == null) {
  96.                      var3 = new Vector();
  97.                   }
  98.  
  99.                   for(int var8 = var9.length - 1; var8 >= 0; --var8) {
  100.                      if (var9[var8] != null) {
  101.                         var3.addElement(var9[var8]);
  102.                      }
  103.                   }
  104.                } else if (var6 == 0) {
  105.                   if (var3 == null) {
  106.                      var2 = var9;
  107.                   } else {
  108.                      var2 = new KeyStroke[var3.size() + var9.length];
  109.                      var3.copyInto(var2);
  110.                      System.arraycopy(var9, 0, var2, var3.size(), var9.length);
  111.                      var3 = null;
  112.                   }
  113.                }
  114.             }
  115.          }
  116.  
  117.          if (var3 != null) {
  118.             var2 = new KeyStroke[var3.size()];
  119.             var3.copyInto(var2);
  120.          }
  121.  
  122.          return var2;
  123.       }
  124.    }
  125.  
  126.    public String getName() {
  127.       return this.field_0;
  128.    }
  129.  
  130.    public Keymap getResolveParent() {
  131.       return this.parent;
  132.    }
  133.  
  134.    public boolean isLocallyDefined(KeyStroke var1) {
  135.       return this.bindings.containsKey(var1);
  136.    }
  137.  
  138.    public void removeBindings() {
  139.       this.bindings.clear();
  140.    }
  141.  
  142.    public void removeKeyStrokeBinding(KeyStroke var1) {
  143.       this.bindings.remove(var1);
  144.    }
  145.  
  146.    public void setDefaultAction(Action var1) {
  147.       this.defaultAction = var1;
  148.    }
  149.  
  150.    public void setResolveParent(Keymap var1) {
  151.       this.parent = var1;
  152.    }
  153.  
  154.    public String toString() {
  155.       return "Keymap[" + this.field_0 + "]" + this.bindings;
  156.    }
  157. }
  158.